"""
# 批量修改文件名，给文件夹下所有的文件名前面添加一个 python ，
  或者给文件夹名删除前缀
"""
import os
from pathlib import Path
print(os.getcwd())
os.chdir('./') # 感觉还是在当前目录
print(os.getcwd())
fileOrDirs = os.listdir() # 结果是字符串列表
print(fileOrDirs)

# 使用高阶函数
def addPath(item):
    url = os.getcwd()+"\\"+item
    # 将文件路径转为路径Path对象
    return Path(url)

fillPathStr  = map(addPath,fileOrDirs)
paths = list(fillPathStr)
print(paths)

for item in paths:
    print(f"{item.name}是{ '文件' if item.is_file() else '目录'}")

print("*********** 开始实践 **********")
flag =2 # 如果是1在文件名前面添加一个python，否则删除文件名前面的python
print("开始添加或者删除文件名中的python")
for item in paths:
    if item.is_file():
        name = item.name
        prefix = name[name.rfind('.'):]
        oldFileName = name[:name.rfind('.')]
        if flag ==1 : # 开始在文件名前面添加一个前缀
            newFileName = 'python-'+oldFileName+prefix
            os.rename(item,newFileName)
        elif flag ==2 : # 开始去掉文件前面的python
            if str(item.name).startswith("python-"):
                #拿到文件的名字
                firstName  = item.name
                secondName = firstName[len('python-'):]
                print(f'原来的名字【{firstName}】，修改后的名字【{secondName}】')
                os.rename(firstName,secondName)
            else:
                print(f"{item.name}不是以python-开头不做处理")
        else:
            print("位置操作")
            break




